var ws = require("nodejs-websocket");
const chatList=[]
const linkUserList=[]
var server = ws.createServer({

}, conn => {
  // 接收客户端返回的数据
  conn.on("text", function (obj) {
    console.log(obj, "接收客户端传过来的值");
    console.log(conn.key,98799)
    if(!linkUserList.find(item=>{return item.key==conn.key})){//存储连接池，保存用户名，id
      linkUserList.push({
        key:conn.key,
        id:JSON.parse(obj).id,
        name:JSON.parse(obj).name
      })
    }
    broshMessage(JSON.parse(obj),JSON.parse(obj).type)
  });
  //客户端关闭连接
  conn.on("close", function () {
    linkUserList.forEach((item,index)=>{
      if(item.key==conn.key){
        broshMessage(item,'END')
        linkUserList.splice(index,1)
      }
    })
  });

  conn.on("error", function (err) {
    //error
    console.log(err, "连接报错");
  });
});
// 定义端口为2002【端口自己随意定义】
const port = 8081;
const broshMessage=(obj,type)=>{
  // console.log(server.connections,888)
  switch (type) {
    case "START":
      server.connections.forEach(connect=>{
       
        // console.log(connect.key,888)
        // let coonID=connect.key
        connect.send(JSON.stringify({
          ...obj,
          content:`${obj.name}加入了群聊`
        }))
      })
    break;
    case "SEND":
      server.connections.forEach(connect=>{
        connect.send(JSON.stringify({
          ...obj,
        }))
      })
    break;
    case "END":
      server.connections.forEach(connect=>{
        connect.send(JSON.stringify({
          ...obj,
          content:`${obj.name}退出了群聊`
        }))
      })
    break;
  
    default:
      // server.connections.forEach(coon=>{
      //   console.log(coon.key,888)
      //   let coonID=coon.key
        
      // })
    break;
  }
}

const broshMessageById=()=>{

}
const endUserConnect=(id)=>{
  // let linkPool=[]
  // linkUserList.forEach(item=>{
  //   if(item.id==id){
  //     linkPool.push(item.key)
  //   }
  // })
  // linkPool.forEach(item=>{
  //   server.connections.forEach(connect=>{
  //     if(connect.key==item){
  //       console.log(item,connect)
  //       connect.close()
  //     }
  //   })
  // })
}
server.listen(port, function () {
  console.log("ws8081server连接成功")
})
module.exports={server}